<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>错误的处理（捕获与抛出）</title>
</head>

<body>

</body>
<script>
  /* 
   * 错误处理
      捕获错误：try...catch
      抛出错误：throw error
   */


  // 捕获错误：try...catch
  // try {
  //   let d;
  //   console.log(d.xxx);
  // } catch (error) {
  //   console.log(error.message); //Cannot read property 'xxx' of undefined
  //   console.log(error.stack); //TypeError: Cannot read property 'xxx' of undefined
  // }
  // console.log('出错之后可以继续往下执行');  //出错之后可以继续往下执行

  // 抛出错误：throw error
  function something() {
    if (Date.now() % 2 === 1) {
      console.log('当前时间为奇数，可以执行任务');
    } else {  //如果时间是偶数抛出异常，由调用来处理
      throw new Error('当前时间为偶数无法执行任务')
    }
  }

  // 捕获错误
  try {
    something() //当前时间为奇数，可以执行任务
  } catch (error) {
    console.log(error); //Error: 当前时间为偶数无法执行任务
  }







</script>

</html>